package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 水厂生产报对象 dispatchWaterworksProduce
 * 
 * @author ruoyi
 * @date 2025-03-02
 */
public class DispatchWaterworksProduce extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 水厂生产报表编号 */
    private Long waterworksProduceId;

    /** 水厂 ID */
    @Excel(name = "水厂 ID")
    private Long waterPlantId;

    /** 报表类型 */
    @Excel(name = "报表类型")
    private String reportType;

    /** 报表对应的日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报表对应的日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportDate;

    /** 产水量 */
    @Excel(name = "产水量")
    private BigDecimal productionVolume;

    /** 水质指标 1 */
    @Excel(name = "水质指标 1")
    private BigDecimal waterQualityIndex1;

    /** 水质指标 2 */
    @Excel(name = "水质指标 2")
    private BigDecimal waterQualityIndex2;

    /** 能耗 */
    @Excel(name = "能耗")
    private BigDecimal energyConsumption;

    /** 生产成本 */
    @Excel(name = "生产成本")
    private BigDecimal productionCost;

    /** 设备运行时间 */
    @Excel(name = "设备运行时间")
    private Long equipmentOperationTime;

    /** 设备故障次数 */
    @Excel(name = "设备故障次数")
    private Long equipmentFailureCount;

    /** 存储报表查询条件 */
    @Excel(name = "存储报表查询条件")
    private String queryCondition;

    /** 报表导出状态 */
    @Excel(name = "报表导出状态")
    private Integer exportStatus;

    /** 报表导出时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报表导出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date exportTime;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updater;

    /** 报表导出文件名 */
    @Excel(name = "报表导出文件名")
    private String exportFileName;

    public void setWaterworksProduceId(Long waterworksProduceId) 
    {
        this.waterworksProduceId = waterworksProduceId;
    }

    public Long getWaterworksProduceId() 
    {
        return waterworksProduceId;
    }
    public void setWaterPlantId(Long waterPlantId) 
    {
        this.waterPlantId = waterPlantId;
    }

    public Long getWaterPlantId() 
    {
        return waterPlantId;
    }
    public void setReportType(String reportType) 
    {
        this.reportType = reportType;
    }

    public String getReportType() 
    {
        return reportType;
    }
    public void setReportDate(Date reportDate) 
    {
        this.reportDate = reportDate;
    }

    public Date getReportDate() 
    {
        return reportDate;
    }
    public void setProductionVolume(BigDecimal productionVolume) 
    {
        this.productionVolume = productionVolume;
    }

    public BigDecimal getProductionVolume() 
    {
        return productionVolume;
    }
    public void setWaterQualityIndex1(BigDecimal waterQualityIndex1) 
    {
        this.waterQualityIndex1 = waterQualityIndex1;
    }

    public BigDecimal getWaterQualityIndex1() 
    {
        return waterQualityIndex1;
    }
    public void setWaterQualityIndex2(BigDecimal waterQualityIndex2) 
    {
        this.waterQualityIndex2 = waterQualityIndex2;
    }

    public BigDecimal getWaterQualityIndex2() 
    {
        return waterQualityIndex2;
    }
    public void setEnergyConsumption(BigDecimal energyConsumption) 
    {
        this.energyConsumption = energyConsumption;
    }

    public BigDecimal getEnergyConsumption() 
    {
        return energyConsumption;
    }
    public void setProductionCost(BigDecimal productionCost) 
    {
        this.productionCost = productionCost;
    }

    public BigDecimal getProductionCost() 
    {
        return productionCost;
    }
    public void setEquipmentOperationTime(Long equipmentOperationTime) 
    {
        this.equipmentOperationTime = equipmentOperationTime;
    }

    public Long getEquipmentOperationTime() 
    {
        return equipmentOperationTime;
    }
    public void setEquipmentFailureCount(Long equipmentFailureCount) 
    {
        this.equipmentFailureCount = equipmentFailureCount;
    }

    public Long getEquipmentFailureCount() 
    {
        return equipmentFailureCount;
    }
    public void setQueryCondition(String queryCondition) 
    {
        this.queryCondition = queryCondition;
    }

    public String getQueryCondition() 
    {
        return queryCondition;
    }
    public void setExportStatus(Integer exportStatus) 
    {
        this.exportStatus = exportStatus;
    }

    public Integer getExportStatus() 
    {
        return exportStatus;
    }
    public void setExportTime(Date exportTime) 
    {
        this.exportTime = exportTime;
    }

    public Date getExportTime() 
    {
        return exportTime;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setUpdater(String updater) 
    {
        this.updater = updater;
    }

    public String getUpdater() 
    {
        return updater;
    }
    public void setExportFileName(String exportFileName) 
    {
        this.exportFileName = exportFileName;
    }

    public String getExportFileName() 
    {
        return exportFileName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("waterworksProduceId", getWaterworksProduceId())
            .append("waterPlantId", getWaterPlantId())
            .append("reportType", getReportType())
            .append("reportDate", getReportDate())
            .append("productionVolume", getProductionVolume())
            .append("waterQualityIndex1", getWaterQualityIndex1())
            .append("waterQualityIndex2", getWaterQualityIndex2())
            .append("energyConsumption", getEnergyConsumption())
            .append("productionCost", getProductionCost())
            .append("equipmentOperationTime", getEquipmentOperationTime())
            .append("equipmentFailureCount", getEquipmentFailureCount())
            .append("queryCondition", getQueryCondition())
            .append("exportStatus", getExportStatus())
            .append("exportTime", getExportTime())
            .append("createTime", getCreateTime())
            .append("creator", getCreator())
            .append("updater", getUpdater())
            .append("updateTime", getUpdateTime())
            .append("exportFileName", getExportFileName())
            .toString();
    }
}
